Traditional enterprise applications automate the repeated execution of a particular set of domain-specific processes. Once deployed, enterprise applications promise to improve the consistency, transparency, security, and efficiency of the processes they automate. Yet traditional approaches to process automation often fail because they assume that these processes can be translated in advance into well-defined work flows, data structures and rules.
Enterprise applications must be implemented, configured/customized and installed before they can be used. Significant changes or extensions to the default process model in the application generally requires significant technical expertise, and require analysis of what process model changes are necessary or pragmatically achievable. Once deployed, the users of such enterprise applications are constrained to a limited range of variations of the processes embedded in the application.
These fundamental characteristics of enterprise applications conflict with how real world business practices are actually conducted, because most business processes are more improvised than structured. This is especially true for managerial, knowledge-intensive, and cross-organizational processes that comprise the majority of high value business activities. Such processes are adapted, pieced together, customized, or defined on the fly by people. They do not fit neatly within the functional boundaries of individual enterprise applications. A given participant may need to have access to information drawn from different activities managed by different organizations and people and/or contained in different applications or systems in order to make informed decisions.
The diversity of processes, both in terms of the different types of processes and the variations within each type, is vast—far larger than could be supported by any given application. Moreover, processes often reflect ad hoc judgments of people dealing with specific situations as opposed to pre-defined and consistently applied rules. Even when a process does follow consistent patterns, its details—the decisions made and the specific people, documents, application transactions, and emails involved—are improvised upon execution.
Because structured automation techniques employed by enterprise applications are simply unable to support improvised processes, people rely heavily on email and personal productivity applications such as spreadsheets or word processors to perform, coordinate and track their work. The characteristics of such shrink-wrapped applications are virtually the antithesis of enterprise applications—they trade off much of the security, consistency, automation, transparency, and auditability benefits promised by enterprise applications in the interests of supporting improvised processes.
Email, for example, is a domain neutral and general purpose collaboration tool which has limited capabilities, specifically the ability to send, reply and forward messages and attachments. While email is incredibly flexible and ubiquitous, it lacks the ability to maintain security, to provide end-to-end transparency, or to automate or enforce consistent processes. Email threads by their nature are fragile and prone to fragmentation with every reply or forward, leaving disconnected messages and attachments scattered across different email servers and clients. Email has no mechanism to enable senders to maintain control or visibility over messages or content they have sent, and there is no reliable or automated way to ‘connect the dots’ of related email threads. Even so, the ability to support improvisation using email systems and the general purpose capabilities of such systems make them by far the most heavily used software for supporting improvised, collaborative processes.
Therefore, the execution of any given instance of an end-to-end process relies upon a variety of different types of email and collaboration tools, desktop productivity applications, and enterprise applications. Each instance of such a process grows organically, leaving a scattered trail of documents, emails, application transactions, decisions, and fading human memories as they unfold. There is no consistent end-to-end mechanism for storing, linking or otherwise recording the disparate elements of information content and improvised decision context that would be necessary to understand an individual instance of a process. Traditional enterprise applications are fundamentally incapable of accommodating the need for ad hoc collaboration and improvised processes, or the degree of diversity and change in structured processes.
The result is a widespread and profound lack of transparency and accountability in day-to-day business practices. It is often difficult or impossible to find relevant documents, files or application transactions necessary for informed decisions, to determine what decisions have been made or approved by whom on what basis, to see what tasks are pending or completed, or simply to find out who is involved.